Telegram Group & Telegram Channel
​​DeepGit: Hashing and Cating. Понимаем файловую систему.

Ч1

Как я говорил ранее, Git это файловая система основой которой являются файлы типа tree, commit, blob.
Подробнее о типах файлов у меня вышла статья на DevQuiz.
Рекомендую прочесть ее и вернуться сюда.

Для того чтобы git начал мониторить ваши файлы ему нужно получить blob файл с этим данными.
Если вы после создания репозитория посмотрите в папку objects она будет пуста, даже если в директории с гитом уже есть файлы.

Чтобы добавить файл в git есть техническая команда git hash-object -w filename.txt она делает blob файл с вашими данными и сохраняет себе в objects.

После этого git status все еще будет пуст, так как индекса еще нет, но git уже сохранил себе версию этого файла.
Именно эта команда лежит в основе гита, это такой себе "save" ваших данных.

Например вы сделали
 echo "first version" >  new_file.txt
git hash-object -w new_file.txt

У вас появляется файл new_file.txt с текстом first version и появляется файл de8d69c9026be2a49f540fda12f3e755a33e6c в папке 22 с таким же текстом.

Следом мы делаем
 echo "second version" > new_file.txt
git hash-object -w new_file.txt

У нас появляется доп файл 7ac37bb280ccd34b350a59ba440614d9106e41 в папке ad с текстом second version

Теперь с помощью git cat-file -p 22de8d69c9026be2a49f540fda12f3e755a33e6c > new_file.txt можно переключиться на старую версию.

И все это происходит до того как вы сделали git add.
Все еще с пустым индексом.



tg-me.com/developer_tools/238
Create:
Last Update:

​​DeepGit: Hashing and Cating. Понимаем файловую систему.

Ч1

Как я говорил ранее, Git это файловая система основой которой являются файлы типа tree, commit, blob.
Подробнее о типах файлов у меня вышла статья на DevQuiz.
Рекомендую прочесть ее и вернуться сюда.

Для того чтобы git начал мониторить ваши файлы ему нужно получить blob файл с этим данными.
Если вы после создания репозитория посмотрите в папку objects она будет пуста, даже если в директории с гитом уже есть файлы.

Чтобы добавить файл в git есть техническая команда git hash-object -w filename.txt она делает blob файл с вашими данными и сохраняет себе в objects.

После этого git status все еще будет пуст, так как индекса еще нет, но git уже сохранил себе версию этого файла.
Именно эта команда лежит в основе гита, это такой себе "save" ваших данных.

Например вы сделали

 echo "first version" >  new_file.txt
git hash-object -w new_file.txt

У вас появляется файл new_file.txt с текстом first version и появляется файл de8d69c9026be2a49f540fda12f3e755a33e6c в папке 22 с таким же текстом.

Следом мы делаем
 echo "second version" > new_file.txt
git hash-object -w new_file.txt

У нас появляется доп файл 7ac37bb280ccd34b350a59ba440614d9106e41 в папке ad с текстом second version

Теперь с помощью git cat-file -p 22de8d69c9026be2a49f540fda12f3e755a33e6c > new_file.txt можно переключиться на старую версию.

И все это происходит до того как вы сделали git add.
Все еще с пустым индексом.

BY Dev Tools


Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283

Share with your friend now:
tg-me.com/developer_tools/238

View MORE
Open in Telegram


Dev Tools Telegram | DID YOU KNOW?

Date: |

Look for Channels Online

You guessed it – the internet is your friend. A good place to start looking for Telegram channels is Reddit. This is one of the biggest sites on the internet, with millions of communities, including those from Telegram.Then, you can search one of the many dedicated websites for Telegram channel searching. One of them is telegram-group.com. This website has many categories and a really simple user interface. Another great site is telegram channels.me. It has even more channels than the previous one, and an even better user experience.These are just some of the many available websites. You can look them up online if you’re not satisfied with these two. All of these sites list only public channels. If you want to join a private channel, you’ll have to ask one of its members to invite you.

Dev Tools from es


Telegram Dev Tools
FROM USA